package com.jay.media.music.core.player

/**
 * @author xuzhou4
 * @date 2021/12/3
 */
interface IPlayerEventListener {

    /**
     * 播放状态改变回调
     * @param state [StreamPlayer.STATE_ENDED] [StreamPlayer.STATE_PLAYING] [StreamPlayer.STATE_PAUSE] [StreamPlayer.STATE_ENDED] [StreamPlayer.STATE_IDLE]
     */
    fun onPlayStateChanged(state: Int)

    /**
     * 缓冲进度回调 单位 milliseconds
     * @param seek
     * @param total
     */
    fun onBufferedSeekChanged(seek: Long, total: Long)

    /**
     * 播放进度回调, 单位 milliseconds
     * @param seek
     * @param total
     */
    fun onPlayedSeekChanged(seek: Long, total: Long)

    /**
     * 一个音频播放完成回调
     */
    fun onPlayCompleted()

    /**
     * 播放错误回调
     * @param code
     */
    fun onPlayError(code: Int)
}